package com.daffodil.monitor.util;

/**
 * -指标名称
 * @author yweijian
 * @date 2022年10月19日
 * @version 2.0.0
 * @description
 */
public class MetricsName {

    /** 应用准备耗时 */
    public static final String APPLICATION_READY_TIME = "application.ready.time";
    /** 应用启动耗时 */
    public static final String APPLICATION_STARTED_TIME = "application.started.time";
    
    /** 磁盘剩余容量 */
    public static final String DISK_FREE = "disk.free";
    /** 磁盘总容量 */
    public static final String DISK_TOTAL = "disk.total";
    
    /** */
    public static final String EXECUTOR_ACTIVE = "executor.active";
    /** */
    public static final String EXECUTOR_COMPLETED = "executor.completed";
    /** */
    public static final String EXECUTOR_POOL_CORE = "executor.pool.core";
    /** */
    public static final String EXECUTOR_POOL_MAX = "executor.pool.max";
    /** */
    public static final String EXECUTOR_POOL_SIZE = "executor.pool.size";
    /** */
    public static final String EXECUTOR_QUEUE_REMAINING = "executor.queue.remaining";
    /** */
    public static final String EXECUTOR_QUEUED = "executor.queued";
    
    public static final String HIKARICP_CONNECTIONS = "hikaricp.connections";
    /** */
    public static final String HIKARICP_CONNECTIONS_ACQUIRE = "hikaricp.connections.acquire";
    /** */
    public static final String HIKARICP_CONNECTIONS_ACTIVE = "hikaricp.connections.active";
    /** */
    public static final String HIKARICP_CONNECTIONS_CREATION = "hikaricp.connections.creation";
    /** */
    public static final String HIKARICP_CONNECTIONS_IDLE = "hikaricp.connections.idle";
    /** */
    public static final String HIKARICP_CONNECTIONS_MAX = "hikaricp.connections.max";
    /** */
    public static final String HIKARICP_CONNECTIONS_MIN = "hikaricp.connections.min";
    /** */
    public static final String HIKARICP_CONNECTIONS_PENDING = "hikaricp.connections.pending";
    /** */
    public static final String HIKARICP_CONNECTIONS_TIMEOUT = "hikaricp.connections.timeout";
    /** */
    public static final String HIKARICP_CONNECTIONS_USAGE = "hikaricp.connections.usage";
    
    /** HTTP请求调用统计情况 */
    public static final String HTTP_SERVER_REQUESTS = "http.server.requests";
    
    /** */
    public static final String JDBC_CONNECTIONS_ACTIVE = "jdbc.connections.active";
    /** */
    public static final String JDBC_CONNECTIONS_IDLE = "jdbc.connections.idle";
    /** */
    public static final String JDBC_CONNECTIONS_MAX = "jdbc.connections.max";
    /** */
    public static final String JDBC_CONNECTIONS_MIN = "jdbc.connections.min";
    
    /** JVM缓冲区数 */
    public static final String JVM_BUFFER_COUNT = "jvm.buffer.count";
    /** JVM缓冲区已用内存 */
    public static final String JVM_BUFFER_MEMORY_USED = "jvm.buffer.memory.used";
    /** JVM缓冲区总容量  */
    public static final String JVM_BUFFER_TOTAL_CAPACITY = "jvm.buffer.total.capacity";
    /** JVM已加载classes数 */
    public static final String JVM_CLASSES_LOADED = "jvm.classes.loaded";
    /** JVM未加载的classes数 */
    public static final String JVM_CLASSES_UNLOADED = "jvm.classes.unloaded";
    /** FullGC老年代内存空间*/
    public static final String JVM_GC_LIVE_DATA_SIZE = "jvm.gc.live.data.size";
    /** GC老年代最大内存空间 */
    public static final String JVM_GC_MAX_DATA_SIZE = "jvm.gc.max.data.size";
    /** GC年轻代分配内存空间 */
    public static final String JVM_GC_MEMORY_ALLOCATED = "jvm.gc.memory.allocated";
    /** GC老年代分配内存空间*/
    public static final String JVM_GC_MEMORY_PROMOTED = "jvm.gc.memory.promoted";
    /** GC活动在上一个回溯期或自监控开始以来使用的 CPU时间百分比 */
    public static final String JVM_GC_OVERHEAD = "jvm.gc.overhead";
    /** GC停顿总数、耗时 */
    public static final String JVM_GC_PAUSE = "jvm.gc.pause";
    /** JVM可用内存 */
    public static final String JVM_MEMORY_COMMITTED = "jvm.memory.committed";
    /** JVM最大内存 */
    public static final String JVM_MEMORY_MAX = "jvm.memory.max";
    /** JVM已用内存 */
    public static final String JVM_MEMORY_USED = "jvm.memory.used";
    /** 上次GC事件后使用的长寿命堆池的百分比 */
    public static final String JVM_MEMORY_USAGE_AFTER_GC = "jvm.memory.usage.after.gc";
    /** JVM守护线程数 */
    public static final String JVM_THREADS_DAEMON = "jvm.threads.daemon";
    /** JVM活跃线程数*/
    public static final String JVM_THREADS_LIVE = "jvm.threads.live";
    /** JVM线程数峰值 */
    public static final String JVM_THREADS_PEAK = "jvm.threads.peak";
    /** JVM当前线程数 */
    public static final String JVM_THREADS_STATES = "jvm.threads.states";
    
    /** */
    public static final String LETTUCE_COMMAND_COMPLETION = "lettuce.command.completion";
    /** */
    public static final String LETTUCE_COMMAND_COMPLETION_PERCENTILE = "lettuce.command.completion.percentile";
    /** */
    public static final String LETTUCE_COMMAND_FIRSTRESPONSE = "lettuce.command.firstresponse";
    /** */
    public static final String LETTUCE_COMMAND_FIRSTRESPONSE_PERCENTILE = "lettuce.command.firstresponse.percentile";
    
    /** */
    public static final String LOGBACK_EVENTS = "logback.events";
    
    /** 当前应用CPU使用率 */
    public static final String PROCESS_CPU_USAGE = "process.cpu.usage";
    /** 应用启动时间点 */
    public static final String PROCESS_START_TIME = "process.start.time";
    /** 应用已运行时间 */
    public static final String PROCESS_UPTIME = "process.uptime";
    
    /** 当前系统CPU数量 */
    public static final String SYSTEM_CPU_COUNT = "system.cpu.count";
    /** 当前系统CPU使用率 */
    public static final String SYSTEM_CPU_USAGE = "system.cpu.usage";
}
